As a method of performing knowledge processing in character recognition, known is a method of modeling a recognition target character string to be stored in a knowledge dictionary, and causing a character string matching with the model to be a result of the knowledge dictionary. For example, known is a system that includes a word dictionary part in which a word to be matched is registered, and a word matching unit including a finite automaton that accepts the word registered in the word dictionary part, and outputs the word accepted by the finite automaton as a result of knowledge processing (for example, refer to Japanese Patent Application Laid-open No. H11-143893). There is also known a technique of performing knowledge processing by matching place name notation described using context-free grammar with a character recognition candidate (for example, refer to Japanese Patent No. 4006176).